package sourceCode;

import java.util.Calendar;

/**
 * @projectName: com.xiayuanxing.designPattern
 * @className: test
 * @author: xiayuanxing
 * @description: TODO
 * @date: 2021/12/17 15:46
 * @version: 1.0
 */
public class test {


    //意义：将实例化对象的代码提取出来，放到一个类中统一管理和维护，达到和主项目的依赖关系的解耦，从而提高项目的扩展和维护性；
    //依赖抽象原则：
    // 1):创建对象实例时，不要直接new类，而是把这个new类的动作放到一个工厂的方法中，并返回。有的书上说变量不要直接持有具体类的引用。
    // 2):不要让类继承具体类，而是继承抽象类或者是实现interface接口
    // 3):不要覆盖基类中已经实现的方法


    public static void main(String[] args) {
        //getInstance()跟踪下去找到createCalendar()使用的就是工厂模式
        Calendar instance = Calendar.getInstance();
        System.out.println(instance);
    }
}
